<?php

/**
 * Description of RechtGroep
 *
 * @author Sander van Belleghem <sandervanbelleghem@live.nl>
 * @version 0.1
 */

require_once FILE_DB_RECHT_GROEP;

class RechtGroep {
    
    private $recht_groep_beschrijving = '';
    private $recht_bitfield;
    private $recht_groep_id;
    
    public function __construct(){
     
    }
    
    public function RechtGroep(){
        
    } 
    
    /**
     * getRecht_groep_beschrijving()
     * 
     * @return type Description
     */     
    public function getRechtGroepBeschrijving(){
        return $this->recht_groep_beschrijving;
    }
    
    public function getRechtBitfield(){
        return $this->recht_bitfield;
    }
    
    public function setRechtGroepId($recht_groep_id){
        if(!empty($recht_groep_id)){
            $this->recht_groep_id = $recht_groep_id;
        }
    }
    
    public function setRechtGroepBeschrijving($recht_groep_beschrijving){
        if(is_string($recht_groep_beschrijving)){
            $this->recht_groep_beschrijving = $recht_groep_beschrijving;
        }
    }
    
    public function setRechtBitfield($recht_bitfield){
        if(!empty($recht_bitfield)){
            $this->recht_bitfield = $recht_bitfield;
        }
    }
    
    public function getRechtGroep(){
        $dbRechtGroep = new DbRechtGroep();
        $dbRechtGroep->setRechtGroepId($this->recht_groep_id);
        return $dbRechtGroep->getRechtGroep();
    }
    
    public function saveRechtGroep(){
        $dbRechtGroep = new DbRechtGroep();
        $dbRechtGroep->setRechtGroepBeschrijving($this->recht_groep_beschrijving);
        if($dbRechtGroep->saveRechtGroep() == true){
            return true;
        } else {
            return false;
        }
    }
    
    public function updateRechtGroep(){
        $dbRechtGroep = new DbRechtGroep();
        $dbRechtGroep->setRechtGroepId($this->recht_groep_id);
        $dbRechtGroep->setRechtGroepBitfield($this->recht_bitfield);
        $dbRechtGroep->setRechtGroepBeschrijving($this->recht_groep_beschrijving);
        $dbRechtGroep->updateRechtGroep();
    }
    
    public function deleteRechtGroep(){
        $dbRechtGroep = new DbRechtGroep();
        $dbRechtGroep->setRechtGroepId($this->recht_groep_id);
        $dbRechtGroep->deleteRechtGroep();
    }
    
    public function getRechtGroepList(){
        $dbRechtGroep = new DbRechtGroep();
        return $dbRechtGroep->getRechtGroepList();
    }
}

class TestRechtGroep {

    public function __construct() {
        try {
            $test = new RechtGroep();

            echo '<pre>';
            var_dump($test);
            echo '</pre>';
        } catch (Exception $e) {
            echo '<pre>';
            echo $e->getTraceAsString();
            echo '</pre>';
            trigger_error($e->getMessage());
        }
    }

}

?>
